//
//  DALabel.h
//  DAKitTest
//
//  Created by DreamArts on 16/3/29.
//  Copyright © 2016年 DreamArts. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef enum {
    DALabelStyleDefault,
    DALabelStyleBlack,
    DALabelStyleWhite
} DALabelStyle;//label样式

typedef enum {
    DALabelAnimationNone
} DALabelAnimation;//label动画

typedef enum{
    VerticalAlignmentMiddle,//default,不做改变
    VerticalAlignmentTop,//顶对齐
    VerticalAlignmentBottom,//底对齐
} VerticalAlignment;//竖直方向对齐方式

@interface DALabel : UILabel{
@private
}

@property(nonatomic ,setter = setStyle:)DALabelStyle style;//label样式

@property(nonatomic)VerticalAlignment verticalAlignment;//对齐方式

@property(nonatomic,setter=setDragEnabled:) BOOL dragEnabled;   // 是否允许拖拽


/*!
 @override method setText
 @abstract 赋值文本
 @discussion 给label赋值文本,并确定是否使用自适应高度，若使用竖直方向对齐方式将无效
 @param text 需要赋值的文本内容
 @param fit 是否使用自适应高度模式，YES为是
 @result void */
- (void)setText:(id)text fitToContent:(BOOL)fit;

/*!
 @override method initWithFrame
 @abstract 构造函数
 @discussion 通过frame参数构造DALabel
 @param frame 边框
 @result instancetype */
- (instancetype)initWithFrame:(CGRect)frame;


/*!
  @add method  longPan
  @abstract  长按动画
  @discussion 给label 添加长按手势,使其有动画效果
  @param animation 是否需要长按动画
  @result void
 
 */
- (void)addLongPanWithAnimation:(BOOL)animation;

/*!
 @add method  CustomLongPan
 @abstract   需要自定义长按动画
 @discussion 给label 添加长按手势,使其有动画效果
 @param      action 长按需要实现的方法 target 可以指定当前谁来实现这个方法  
 @result void
 */
- (void)customLongPanAction:(SEL)action target:(id)target animation:(BOOL)animation;


/*!
 @method  setStyle
 @abstract style设置器
 @discussion 设置style类型
 @param style 枚举类型，默认DALabelStyleDefault
 @result void
 */
- (void)setStyle:(DALabelStyle)style;

/*!
 @method  setDragEnabled
 @abstract  拖拽set方法
 @discussion  设置拖拽方法
 @param     dragEnabled 是否允许拖拽
 @result void
 */
- (void)setDragEnabled:(BOOL)dragEnabled;



- (void)setHeightForLabel;


@end
